package com.itic.mall.system.goods.goodssku.service;

import com.itic.mall.mobile.goods.vo.GoodsDetailVo;
import com.itic.mall.system.goods.goodssku.persistence.model.GoodsSku;

import java.util.List;
import java.util.Map;



public interface GoodsSkuService {


    /**
	 * 根据skuId,count 查询库存
	 * @author 王文鑫
	 * @date 2018年1月12日 上午10:38:41
	 * @param Skuid
	 * @param count
	 * @return
	 */
	public int getTotalInventoryBySkuIdAndcount(String id,int count) ;
	
	public Integer getTotalSalesBySpuId(String id) ;
	/**
	 * 整点特卖商品编辑
	 * @param spuIds
	 * @param wlcommisoins
	 * @param maxBuyNums
	 * @return
	 */
	public String updateGoodsSku(List<String> spuIds,List<Double> wlcommisoins,List<Integer> maxBuyNums);
	/**
	 * 修改单个特卖商品的信息
	 * @param spuId
	 * @param wlcommission
	 * @param maxCount
	 * @return
	 */
	public String updateOneGoodsSku(String spuId,Double wlcommission,Integer maxCount);
	/**
	 * 获取单个商品信息
	 * @param spuId
	 * @return
	 */
	public GoodsSku getOneGoodsSkuBySpuId(String spuId);
	
	/**
	 * 获取商品最大可购买数量
	 * @param spuId
	 * @return
	 */
	public Integer getMaxCount(String spuId);
	/**
	 * 修改最大购买数量
	 * @param spuId
	 * @param maxCount
	 * @return
	 */
	public String updateGoodsSku(String spuId,Integer maxCount);
	/**
	 * 根据skuNum获取sku
	 * @author 王文鑫
	 * @date 2018年1月19日 下午4:24:40
	 * @param id
	 * @return
	 */
	public GoodsSku getSkuByskuNum(String skuNum) ;
	/**
	 * 根据spuId 删除sku
	 * @author 王文鑫
	 * @date 2018年2月8日 下午8:00:26
	 * @param spuId
	 * @return
	 */
	public boolean deleteBySpuId(String spuId) ;
	
	/**
	 * 根据skuId获取sku
	 * @author 王文鑫
	 * @date 2018年1月12日 上午9:36:05
	 * @param skuId
	 * @return
	 */
	public GoodsSku getSkuBySkuId(String skuId) ;
	
	/**
	 * 根据spuId 获取sku
	 * @author 王文鑫
	 * @date 2018年2月7日 下午4:45:43
	 * @param spuId
	 * @return
	 */
	public List<GoodsSku> getGoodsSkuBySpuId(String spuId) ;
	
	/**
	 * 根据 spuId、propertyId查询sku
	 * @author 王文鑫
	 * @date 2018年2月10日 上午11:12:58
	 * @param spuId
	 * @param propertyId
	 * @return
	 */
	public GoodsSku getGoodsSkuBySpuIdPropertyId(String spuId,String propertyId) ;
	
	/**
	 * 根据组合比查询sku
	 * @author 王文鑫
	 * @date 2018年1月16日 上午11:01:01
	 * @param ParmQuery
	 * @return
	 */
	public List<GoodsSku> getGoodsSkuByParmquery(String ParmQuery) ;
	
	/**
	 * 根据规格ID查看规格并返回map
	 * */
	public Map<String, Object> getGoodSkuById(String skuId);
	public Map<String, Object> getGoodSkuparamsById(String skuId);
	

	
	/**
	 * 根据SkuID获取商品信息
	 * @param request
	 * @param response
	 * @param token
	 * @param appId
	 * @param goodsId
	 * @return
	 */
	public GoodsDetailVo getSkuDetailBySkuId(String skuId, int count) ;

}